package com.ychs.service;

import java.util.List;
import java.util.Map;

/**
 * copyright(c)2021 YYB.ALL rights Reserved
 * <p>
 * 描述:
 *
 * @author 原玉波
 * @version 1.0
 * @date 2021/5/21
 */
public interface IBaseService<T> {
    /**
     * 添加记录
     * @param t 记录对象
     * @return 是否成功
     */
    boolean add(T t);

    /**
     * 修改记录
     * @param t 修改记录对象
     * @return 成功与否
     */
    boolean modify(T t);

    /**
     * 删除记录
     * @param id 待删除记录的主键
     * @return 是否成功
     */
    boolean remove(int id);

    /**
     * 查询单个对象
     * @param id 查询对象的主键
     * @return 查询结果
     */
    T searchById(int id);

    /**
     * 查询多条记录
     * @param conditions 查询条件
     * @return 查询结果
     */
    List<T> search(Map<String,Object> conditions);

    /**
     * 查询总条数
     * @param conditions 条件
     * @return
     */
    default int searchTotalNumber(Map<String,Object> conditions){
        return 0;
    };
}
